[アップデート]Amazon SNSは、新たに3つのCloudWatchメトリクスが追加され、Service Quotasからモニタリングとアラーム作成できるようになりました
はじめに
Amazon SNSに、下記の3つのメトリクスが追加されました。
- ApproximateNumberOfTopics
- アカウント全体のトピックの数
- ApproximateNumberOfPendingSubscriptions
- アカウント全体の保留中のサブスクリプションの数
- ApproximateNumberOfFilterPolicies
- アカウント全体のフィルターポリシーの数
さらに、上記の3つのメトリクスは、Service QuotasからモニタリングやCloudWatchアラームの設定ができるようになりました。
アップデートによって、SNSの使用状況やクォータの使用状況を監視し、設定したしきい値を超えたときにアラームで通知することができます。
これにより、クォータ上限になる前に、上限緩和したり、不要なリソース(トピックやサブスクリプション)を削除する対応が可能です。
メトリクスの確認
マネジメントコンソールの[すべてのメトリクス]から[使用]に遷移し、[AWS リソース]からメトリクスを確認できます。
3つのメトリクスを確認します。
ApproximateNumberOfTopics
ApproximateNumberOfTopics
は、アカウント全体のトピックの数メトリクスです。
今回のアップデートは、8月31日の発表でしたが、8月の初旬もメトリクス値が確認できました。
ApproximateNumberOfPendingSubscriptions
ApproximateNumberOfPendingSubscriptions
は、アカウント全体の保留中のサブスクリプションの数です。
ただし、保留中のサブスクリプションは、48時間で削除されるため、上限値まで増える可能性は極めて低く、監視を必要するケースはあまりないかと思います。
私の場合、下記の通りに、サブスクリプションのステータスを保留中にしたのですが、メトリクス値は反映されませんでした。
ただし、Service QuotasのPending Subscriptions per Account
のモニタリングからは、メトリクス値が確認できました。
ApproximateNumberOfFilterPolicies
ApproximateNumberOfFilterPolicies
は、アカウント全体のフィルターポリシーの数です。
フィルターポリシーとは、サブスクリプションで受信者が受け取るメッセージがフィルター処理する機能です。
メトリクス値が確認できました。
Service Quotas
今回のメトリクスは、すでにService Quotasには存在しており、確認できます。各クォータとメトリクス名は下記の通りです。
- クォータ名:
Topics per Account
- メトリクス名:ApproximateNumberOfTopics
- アカウント全体のトピックの数
- メトリクス名:ApproximateNumberOfTopics
- クォータ名:
Pending Subscriptions per Account
- メトリクス名:ApproximateNumberOfPendingSubscriptions
- アカウント全体の保留中のサブスクリプションの数
- メトリクス名:ApproximateNumberOfPendingSubscriptions
- クォータ名:
Filter Policies per Account
- メトリクス名:ApproximateNumberOfFilterPolicies
- アカウント全体のフィルターポリシーの数
- メトリクス名:ApproximateNumberOfFilterPolicies
Service Quotasからモニタリング情報やアラーム設定が確認できます。
Service Quotasでは、モニタリングやアラーム設定ができるクォータとできないクォータがあります。
私はモニタリングやアラーム設定ができることを知らなかったので勉強になりました。
アラーム設定
Service Quotasのクォータ名Topics per Account
から、CloudWatch アラームを作成してみます。
アラームのしきい値とアラーム名を設定するだけです。通知設定まではできませんでした。
アラームのしきい値は、クォータ値の50%~100%の値を設定できます。今回は、50%で設定しました。
作成したCloudWatch アラームを確認してみます。
数式が(usage_data/SERVICE_QUOTA(usage_data))*100
で、閾値が50以上となっているため、Service Quotasのトピック上限数である10万の50%である5万トピック数以上になるとアラームになります。
CloudWatch アラームのタグは、ServiceQuotaMonitor:L-61103206
でした。
L-61103206
は、Quota ARNの末尾の値です。
arn:aws:servicequotas:ap-northeast-1:アカウントID:sns/L-61103206
もちろん、アラームのアクションはありませんので、アラーム時に通知したい場合、通知設定が必要です。
最後に
今回のアップデートで、3つのメトリクスが追加され、SNSリソースの使用状況を監視できるようになりました。
Service Quotas からクォータごとの利用状況メトリクスを確認できるため、クォータの確認から上限緩和申請を画面遷移せずにできますので、よいアップデートだと感じました。